package ro.isdc.training.jpa.course.dao;

import java.io.Serializable;

import ro.isdc.training.jpa.course.domain.Course;
import ro.isdc.training.jpa.course.domain.CourseId;

/**
 * Course Data Access Object Interface
 * 
 * @author Andrei Chirila
 */
public interface CourseDAO {
	/**
	 * Finds course by course identification.
	 * 
	 * @param courseId the course id that can be an entity id or the course name
	 * @return the found course
	 */
	Course findCourseByCourseId(CourseId courseId);
	
	/**
	 * Saves a course to the database.
	 * 
	 * @param course the course to save
	 * @return the id of the saved course
	 */
	Serializable saveCourse(Course course);
}
